<?php
/**
 * utility 패키지
 * 
 * @package php.util
 */


/**
 * Validation 체크 
 * 
 * 체크 항목 
 * 
 * AJAX - http 통신후 얻어오는 값으로 체크 	
 * ALPHANUM - 영문자, 숫자
 * ALPHANUMSPCCHAR - 영문자, 숫자, 특수문자 
 * BETWEEN - 날짜 사이 기간 구하기  
 * CELLPHONE - 핸드폰 
 * COMPANY - 사업자 등록번호 
 * DATE - 날짜 
 * DOMAIN - 도메인 
 * EMPTY - 공백여부 
 * EMAIL - 이메일 주소 
 * EMAILID - 이메일 아이디 
 * ENG - 영문 
 * EQUAL - 같은 문자열인지 
 * INARRAY - 배열에 속해 있는지 
 * INT - 정수 
 * KOR - 한글  
 * LENGTH - 길이 체크 
 * SIZE - 배열 길이 체크 
 * KORENG - 한글,영문
 * MAX - 바이트 최대 길이  
 * MIN - 바이트 최소 길이 
 * MINMAX - 바이트 최대, 최소 길이  
 * MAXNUM - 숫자 최대 
 * MINNUM - 숫자 최소 
 * MINMAXNUM - 숫자 최대, 최소 
 * NUMBER - 정수,실수 
 * NOTKOR - 한글 제외 
 * SOCIAL - 주민번호 
 * URL - URL 
 * 
 * @author easylogic
 *
 */
class Validator extends PObject {

	private $field = array();
	private $result = array();
	
	public function __construct($field = array()) { 
		$this->setField($field);
	}
	
	public function setFields($field = array()) { 
		$this->field = array_change_key_case($field);
	}
	
	public function getField($key) { 
		return $this->field[strtolower($key)];
	}
	
	public function setField($key, $value = "") { 
		return $this->field[strtolower($key)] = $value;	
	}
	
	public function result() { 
		return $this->result;
	}	
	/**
	 * Validation 체크 
	 * 
	 * @param unknown_type $validator
	 * @return unknown_type
	 */
	public function validation($validator = array()) { 
		return true;
	}
	
	public static function ajax($option = array()) { 
		
	}
	
	public static function alpha($option = array()) { 
		
	}
	
	public static function alphanum($option = array()) { 
		
	}
	
	/**
	 * 숫자 형인지 체크 
	 * 
	 * @param $value
	 * @return boolean
	 */
	public static function number($option = array()) { 
		return is_number($option['value']);
	}
	
	public static function string($option = array()) { 
		return is_string($option['value']);
	}
	
	public static function int($option = array()) { 
		return is_int($option['value']);
	}
	
	public static function float($value) {

		if (is_string($value) && strpos($value, ".") !== false) { 
			return $value == (string)(float)$value;
		}
		
		return is_float($value);	
	}
}

?>